package cn.xiaolang.function.string;

import java.text.SimpleDateFormat;

/**
 * 字符串转日期的格式校验 
 * 
 * @version 1.3
 * @since JDK1.7
 * @author fuhw
 * @company 上海浦信科技
 * @copyright (c) 2016 Puxin technology. All rights reserved.
 * @date 2016年8月25日 下午4:16:38
 */
public class StringToDateValid {

	public static void main(String[] args) {
		String string = "2016-08-24";
		System.err.println(string.length());
		System.err.println(isValidDate(string));
		
		string = string.substring(0, 10);
		System.err.println(string);
		
	}
	
	 public static boolean isValidDate(String str) {
		        boolean convertSuccess=true;
		         SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
		         try {
		        	// 设置lenient为false. 否则SimpleDateFormat会比较宽松地验证日期，比如2007/02/29会被接受，并转换成2007/03/01
		            format.setLenient(false);
		            format.parse(str);
		         } catch (Exception e) {
		           // e.printStackTrace();
		           // 如果throw java.text.ParseException或者NullPointerException，就说明格式不对
		           convertSuccess=false;
		        } 
		        return convertSuccess;
	}
}
